/**
 * 将比值转换为百分比字符串
 * @param {number|string} part   - 分子，支持数字或数字字符串
 * @param {number|string} total  - 分母，支持数字或数字字符串
 * @param {number} [digits=2]    - 保留的小数位
 * @returns {string}             - 如 "75.50%"
 */
function ratioToPercent(part, total, digits = 2) {
  const numPart = Number(part);
  const numTotal = Number(total);
  const fix = Number.isInteger(digits) && digits >= 0 ? digits : 2;

  // 若 total 为 0、NaN 或无效，直接返回 "0%"
  if (!numTotal || Number.isNaN(numPart) || Number.isNaN(numTotal)) {
    return "0%";
  }

  const ratio = numPart / numTotal;
  return (ratio * 100).toFixed(fix) + "%";
}

export { ratioToPercent };
